package sm.pzavoli.std;

import java.util.ArrayList;

import android.util.Log;

public class RelazioneN extends Relazione {
	Class<StdPojo> m_classePojo;	
	Lista m_lista;
	
	public RelazioneN(String nome) {
		super(nome);		
	}

	public RelazioneN(String nome, Class pojoclass) {
		super(nome);
		m_classePojo = pojoclass;
	}
	
	/*
	 * Ritorna la lista di pojo collegata a questa relazione
	 */
	public Lista getListaPojo() {
		if ( m_lista == null)
			m_lista = new Lista(m_classePojo);
		return m_lista;		
	}
	
	public void setListaPojo(Lista lista) {
		m_lista = lista;
	}
	
	public void addPDC(StdPojo pojo) {
		Lista lista = getListaPojo();
		lista.add(pojo);
	}
	
	/*
	 * Crea un nuovo pojo del tipo identificato da questa relazione
	 */
	public StdPojo createNewPojo() {
		try {
			StdPojo m_pojo = null;
			try {
				m_pojo = m_classePojo.newInstance();
			} catch(IllegalAccessException ex) {
				m_pojo = null;
			} catch(InstantiationException ex) {
				m_pojo = null;
			}	
			return m_pojo;
		} catch(Exception e) {
			e.printStackTrace();
			Log.e("Relaazione","createNewPojo, errore:"+e.getMessage());
			return null;
		}
	}
}
